package com.huadu.hdojcodesandbox.service;

import com.huadu.hdojcodesandbox.CodeSandbox;
import com.huadu.hdojcodesandbox.service.java.JavaNativeCodeSandbox;
import com.huadu.hdojcodesandbox.service.python3.PythonNativeCodeSandbox;
import org.springframework.stereotype.Service;

/**
 * 代码沙箱工厂（根据字符串参数创建指定的代码沙箱实例）
 */
@Service
public class CodeSandboxFactory {

    /**
     * 创建代码沙箱
     * @return
     */
    public static CodeSandbox getSandBox(String language) {
        switch (language) {
            case "java":
                return new JavaNativeCodeSandbox();
            case "python":
                return new PythonNativeCodeSandbox();
            default:
                throw new RuntimeException("不支持该语言");
        }
    }
}
